home *** CD-ROM | disk | FTP | other *** search
/ Softdisk Supreme / Softdisk Supreme.iso / pc / DSK Files / 0-49 / SD023b.dsk / HI-RES EVOLUTION.bas < prev    next >
BASIC Source File  |  2003-06-12  |  4KB  |  100 lines

  1. 10  TEXT : HOME : LOMEM: 4 *4096
  2. 20  VTAB 5:P$ = "*****************": GOSUB 120
  3. 30  VTAB 6:P$ = "*               *": GOSUB 120
  4. 35  VTAB 7:P$ = "*    HI-RES     *": GOSUB 120
  5. 40  VTAB 8:P$ = "*   EVOLUTION   *": GOSUB 120
  6. 50  VTAB 9:P$ = "*               *": GOSUB 120
  7. 60  VTAB 10:P$ = "*****************": GOSUB 120
  8. 70  VTAB 15: HTAB 9: PRINT "PRESS SPACE TO START."
  9. 80 E =  INT( RND(1) *20) +7:K =  PEEK( -16384): IF K <128  THEN 80
  10. 90  POKE  -16368,0: HOME 
  11. 100  GOTO 130
  12. 110  XDRAW 1 AT  FN PC(X), FN PC(Y): RETURN 
  13. 120  PRINT  TAB( 20 - LEN(P$)/2);P$: RETURN 
  14. 130  FOR I = 1 TO 3000: NEXT I
  15. 140  GOSUB 850
  16. 150  DEF  FN NX(X) = 35 *(X <0) +X *(X <35)
  17. 160  DEF  FN NY(Y) = 20 *(Y <0) +Y *(Y <20)
  18. 170  DEF  FN PC(Z) = 8 *Z +4
  19. 180  DIM P%(34,19),N%(34,19),D%(34,19)
  20. 190  DIM CL%(734),DL%(734)
  21. 210  HGR :NM = 0
  22. 220  GOSUB 830
  23. 240  GOTO 370
  24. 250 NC = 0:ND = 0:NG = NG +1: HOME 
  25. 255  POKE 49168,0: IF  PEEK(49152) = 27  THEN  PRINT : PRINT  CHR$(4)"RUNMENU"
  26. 260 X = 0
  27. 270  FOR I = 1 TO CN
  28. 280 Y = CL%(I): IF Y <0  THEN X = X +1: GOTO 360
  29. 290  GOSUB 110
  30. 300 D = DL%(I)
  31. 310 N = N%(X,Y) +D:N%(X,Y) = N
  32. 320  IF P%(X,Y)  THEN  ON N GOTO 340,340,350,350,340,340,340,340,340
  33. 330  IF N < >3  THEN 350
  34. 340  GOSUB 430
  35. 350  GOSUB 110
  36. 360  NEXT I
  37. 370  FOR I = 1 TO E
  38. 380 X =  INT( RND(1) *35)
  39. 390 Y =  INT( RND(1) *20)
  40. 400  GOSUB 430
  41. 410  NEXT I
  42. 420  GOSUB 700: GOTO 250
  43. 430  XDRAW 2 AT  FN PC(X), FN PC(Y)
  44. 440 P%(X,Y) = 1 -P%(X,Y)
  45. 450 D =  -1: IF P%(X,Y)  THEN D = 1
  46. 460  IF X = 0  OR X = 34  OR Y = 0  OR Y = 19  THEN 640
  47. 470 D%(X -1,Y -1) = D%(X -1,Y -1) +D
  48. 480 D%(X -1,Y) = D%(X -1,Y) +D
  49. 490 D%(X -1,Y +1) = D%(X -1,Y +1) +D
  50. 500 D%(X,Y -1) = D%(X,Y -1) +D
  51. 510 D%(X,Y) = D%(X,Y) +D
  52. 520 D%(X,Y +1) = D%(X,Y +1) +D
  53. 530 D%(X +1,Y -1) = D%(X +1,Y -1) +D
  54. 540 D%(X +1,Y) = D%(X +1,Y) +D
  55. 550 D%(X +1,Y +1) = D%(X +1,Y +1) +D
  56. 560 NM = NM +D
  57. 570 NC = NC +1
  58. 580 ND = ND +D
  59. 590  IF X <XL  THEN XL = X
  60. 600  IF Y <YL  THEN YL = Y
  61. 610  IF X >XH  THEN XH = X
  62. 620  IF Y >YH  THEN YH = Y
  63. 630  RETURN 
  64. 640  FOR X2 = X -1 TO X +1
  65. 650  FOR Y2 = Y -1 TO Y +1
  66. 660 X3 =  FN NX(X2):Y3 =  FN NY(Y2)
  67. 670 D%(X3,Y3) = D%(X3,Y3) +D
  68. 680  NEXT : NEXT 
  69. 690  GOTO 560
  70. 700 CN = 0
  71. 710 XL =  FN NX(XL -1):XH =  FN NX(XH +1): IF XL > = XH  THEN I = XL:XL = XH:XH = I: IF XL = 0  OR XH = 34  THEN XL = 0:XH = 34
  72. 720 YL =  FN NY(YL -1):YH =  FN NY(YH +1): IF YL > = YH  THEN I = YL:YL = YH:YH = I: IF YL = 0  OR YH = 19  THEN YL = 0:YH = 19
  73. 730  IF XL = 0  THEN 750
  74. 740  FOR I = 0 TO XL -1:CN = CN +1:CL%(CN) =  -1: NEXT 
  75. 750  FOR X = XL TO XH: FOR Y = YL TO YH
  76. 760  IF   NOT D%(X,Y)  THEN 800
  77. 770 D = D%(X,Y)
  78. 780 CN = CN +1:D%(X,Y) = 0
  79. 790 CL%(CN) = Y:DL%(CN) = D
  80. 800  NEXT 
  81. 810 CN = CN +1:CL%(CN) =  -1
  82. 820  NEXT 
  83. 830 XL = 34:XH = 0:YL = 19:YH = 0
  84. 840  RETURN 
  85. 850  POKE 768,2: POKE 769,0: POKE 770,6: POKE 771,0:
  86. 860  POKE 772,35: POKE 773,0: POKE 774,8: POKE 775,8:
  87. 870  POKE 776,8: POKE 777,54: POKE 778,54: POKE 779,54:
  88. 880  POKE 780,39: POKE 781,36: POKE 782,36: POKE 783,60:
  89. 890  POKE 784,54: POKE 785,54: POKE 786,54: POKE 787,39:
  90. 900  POKE 788,36: POKE 789,36: POKE 790,60: POKE 791,54:
  91. 910  POKE 792,54: POKE 793,54: POKE 794,39: POKE 795,36:
  92. 920  POKE 796,36: POKE 797,60: POKE 798,54: POKE 799,54:
  93. 930  POKE 800,54: POKE 801,95: POKE 802,0: POKE 803,8:
  94. 940  POKE 804,8: POKE 805,200: POKE 806,59: POKE 807,247:
  95. 950  POKE 808,30: POKE 809,54: POKE 810,14: POKE 811,14:
  96. 960  POKE 812,45: POKE 813,12: POKE 814,12: POKE 815,36:
  97. 970  POKE 816,28: POKE 817,92: POKE 818,0:
  98. 980  POKE 232,0: POKE 233,3
  99. 990  HCOLOR= 3: SCALE= 1: ROT= 0
  100. 1000  RETURN